<template>
  <div class="add-node-btn-box">
    <div class="add-node-btn">
      <!--      节点新增按钮-->
<!--      3个 width="270"-->
      <el-popover
          v-if="this.showAddButton"
        placement="right-start"
        :width="190"
        trigger="click"
        :hide-after="0"
        :show-after="0"
      >
        <template #reference>
          <el-button type="primary" icon="el-icon-plus" circle></el-button>
        </template>
        <div class="add-node-popover-body">
          <ul>
            <li>
              <el-icon style="color: #ff943e" @click="addType(1)"
                ><el-icon-user-filled
              /></el-icon>
              <p>审批节点</p>
            </li>
<!--            <li>-->
<!--              <el-icon style="color: #3296fa" @click="addType(2)"-->
<!--                ><el-icon-promotion-->
<!--              /></el-icon>-->
<!--              <p>抄送节点</p>-->
<!--            </li>-->
            <li>
              <el-icon style="color: #15bc83" @click="addType(4)"
                ><el-icon-share
              /></el-icon>
              <p>条件分支</p>
            </li>
          </ul>
        </div>
      </el-popover>
    </div>
  </div>
</template>

<script>
import { uuid } from '@/utils/util';
export default {
  inject: ["showAddButton"],
  props: {
    modelValue: { type: Object, default: () => {} },
  },
  data() {
    return {};
  },
  mounted() {},
  methods: {
    addType(type) {
      var node = {};
      if (type === 1) {
        node = {
          nodeName: "审核人",
          type: 1, //节点类型
          nodeId: uuid(),
          setType: 1, //审核人类型
          nodeUserList: [], //审核人成员
          nodeRoleList: [], //审核角色
          nodeOrgList: [], //审核组织
          examineLevel: 1, //指定主管层级
          directorLevel: 1, //自定义连续主管审批层级
          selectMode: 1, //发起人自选类型
          termAuto: false, //审批期限超时自动审批
          term: 0, //审批期限
          termMode: 1, //审批期限超时后执行类型
          examineMode: 1, //多人审批时审批方式
          directorMode: 0, //连续主管审批方式
          childNode: this.modelValue,
          formMode: 1, //页面组件加载配置
          actorWay: 1,//人工指定审批人员
          actorWayType: 1,//按人员指定
          orgScope: 1,//组织范围 按自身权限来
          roleScope: 1,//角色范围 按自身权限来
          operationConfigListForAudit: ["complete","forceComplete","revoke"],//审核操作配置项
        };
      } else if (type === 2) {
        node = {
          nodeName: "抄送人",
          type: 2,
          nodeId: uuid(),
          userSelectFlag: true,
          nodeUserList: [],
          childNode: this.modelValue,
        };
      } else if (type === 4) {
        node = {
          nodeName: "条件路由",
          type: 4,
          nodeId: uuid(),
          conditionNodes: [
            {
              nodeName: "条件1",
              type: 3,
              priorityLevel: 1,
              conditionMode: 1,
              conditionList: [],
            },
            {
              nodeName: "条件2",
              type: 3,
              priorityLevel: 2,
              conditionMode: 1,
              conditionList: [],
            },
          ],
          childNode: this.modelValue,
        };
      }
      this.$emit("update:modelValue", node);
    },
  },
};
</script>

<style></style>
